package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

@Data
@ApiModel(value = "PaymentRecord实体")
public class PaymentRecord implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * id
     */
    @JsonSerialize(
        using = ToStringSerializer.class
    )
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    @ApiModelProperty(value = "支付状态 1未支付 2已支付 3支付未发货 4支付已过期")
    /**
     * 支付状态 1未支付 2已支付
     */
    private String payStatus;
    @ApiModelProperty(value = "商品ID")
    /**
     * 商品ID
     */
    @JsonSerialize(
            using = ToStringSerializer.class
    )
    private Long productId;
    @ApiModelProperty(value = "商品英文名")
    /**
     * 商品英文名
     */
    private String productCnName;
    @ApiModelProperty(value = "数量")
    /**
     * 数量
     */
    private Integer count;
    @ApiModelProperty(value = "单价")
    /**
     * 单价
     */
    private Double price;
    @ApiModelProperty(value = "总货值")
    /**
     * 总货值
     */
    private Double totalValue;
    @ApiModelProperty(value = "狸云支付单号")

    /**
     * 狸云支付单号
     */

    private String tradeNo;
    @ApiModelProperty(value = "邮箱")
    /**
     * 邮箱
     */
    private String buyer;
    @ApiModelProperty(value = "ip")
    /**
     * ip
     */
    private String clientip;
    @ApiModelProperty(value = "设备类型")
    /**
     * 设备类型
     */
    private String device;
    @ApiModelProperty(value = "支付类型")
    /**
     * 支付类型
     */
    private String type;
    @ApiModelProperty(value = "加密类型")
    /**
     * 加密类型
     */
    private String signType;
    @ApiModelProperty(value = "处理结果")
    /**
     * 处理结果
     */
    private String msg;
}
